// 发布-订阅模式的具体实现可以通过创建一个事件中心（也被称为事件总线或消息通道），
//用于管理事件的发布和订阅。下面是一个简单的发布-订阅模式的实现示例：

//创建事件中心
var eventCenter={
	//定义事件
	events:{}, 
	//订阅事件
	subscribe:function(eventName,callback){
		if(!this.events[eventName])this.events[eventName]=[];
		this.events[eventName].push(callback);
	}, 
	//发布事件
	publish:function(eventName,data){
		if(this.events[eventName]){
			this.events[eventName].forEach(callback=>callback(data))
		}
	}
};

//订阅事件 
eventCenter.subscribe('message',(data)=>{
	 console.log('Received message: ' + data);
})

eventCenter.publish("message",'hello maweichao')

/*在上面的代码中，我们创建了一个 eventCenter 对象，它包含了一个 events 属性来存储不同事件的回调函数。subscribe 方法用于订阅事件，它接受事件名和回调函数作为参数，并将回调函数存储在对应的事件数组中。publish 方法用于发布事件，它接受事件名和数据作为参数，然后遍历对应事件的回调函数数组，依次执行回调函数并传递数据。

通过这种方式，我们可以实现多个对象订阅同一个事件，并在事件发布时得到通知。*/